home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
351-375
/
disk_365
/
password
/
password.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
18KB
|
404 lines
;--------------------------------------------------------------------------;
; Program: password ;
; Programmer: George Kerber ;
; Written: 05/22/89 - 04/14/90 ;
; Version: v1.42p ;
; Application: AmigaDOS & Workbench v1.3 ;
; Purpose: Provides password protection. Operation is similar to ;
; the UNIX passwd command. ;
;--------------------------------------------------------------------------;
_________________________________________________________________________
This program is SHAREWARE, see the SHAREWARE instructions below.
_________________________________________________________________________
SYNTAX: password [ -a SYS: ]
Where 'SYS:' is the drive where all your system files are located, normally
this is your boot disk. Password will assign all system directories to this
drive.
Execute 'password -a SYS:' from your startup sequence to verify the password
and set the SYS: drive.
Password change will only be accessible once the "password -a SYS:" program
has been executed at boot time. Both the '-a' and 'SYS:' options are
required to verify the password during the boot up process. A colon must
be used after the drive designation. Execute password with no options to
change the password.
Testing???
----------
I suggest creating copying your Workbench 1.3 disk and installing the
password program on it using supplied password.install script for a
good way to test the program before installing it on your hard-drive or
any other floppies. You may have to make some room on a standard
Workbench disk to install this program, I suggest getting rid of most
of the stuff in the utilities directory.
Installation:
-------------
The following directions must be followed exactly, or password will fail or
destroy system security.
Copy password to the c: directory of your boot disk and to the c: directory
of your system disk (if they are different).
Startup-Sequence:
-----------------
A few commands for setup must be completed in your startup-sequence before
executing password. You should only execute what is absolutely necessary in
your startup-sequence. DO NOT execute any program that allows you to open
a new window before the password program is executed. PopCLI is a good
example of a program not to execute before password.
If you have a hard-drive and are booting from a floppy, you should mount the
hard-drive first.
For accounting purposes, your battery clock (if it exists) should be read
before executing password. (see below) If you are using the AmigaDOS
'setclock' program to set your clock, and it is located in your SYS:c
directory, it WILL BE EXECUTED from the password program. It is not
necessary to execute 'setclock' from your startup-sequence. If you are
using some other command to read your battery clock, you must execute this
command before executing password in your startup-sequence. If you are not
using the AmigaDOS 'setclock' command, you should remove it from your c:
directory.
At minimum (and probably maximum) your startup-sequence should look like
this:
read your battery clock....
(if you are not using the AmigaDOS setclock command)
password -a df0:
endcli
Password will open a shell and execute a file called s:startup2 if it
exists. Note that this file name is different from the standard AmigaDOS
startupII file.
A workable startup-sequence and startup2 has been included with this archive
that will work for a floppy system.
The following series of commands are executed from within the password
program:
makedir ram:clipboards
makedir ram:t
assign SYS: (whatever drive you specified via options)
assign C: sys:c
assign DEVS: sys:devs
assign LIBS: sys:libs
assign S: sys:s
assign SYSTEM: sys:system
assign L: sys:l
assign FONTS: sys:fonts
assign T: ram:t
assign CLIPBOARDS: ram:clipboards
assign ENV: ram:env
mount newcon:
mount speak:
setclock load (if it exists in your c: directory)
resident >nil: cli l:shell-seg system pure add
newshell newcon:0/0/640/200/Secure-Shell from s:startup2
A working copy of 'mount', 'resident' and 'newshell' must be in your c:
directory. The make directories and assigns do not use AmigaDOS commands.
As you can see, quite a bit of set-up is being done from the password
program. The commands listed above should not be repeated in the
startup-sequence or startup2 scripts.
Please note that the ram:env directory is no longer being created by the
password program. You must create and assign this directory yourself in
the startup2 file. See the note below about the next version of Workbench
for more information.
If password is satisfied, it will open a SHELL window and execute a script
called s:startup2 if it exists. Finish any commands that you need to
complete in startup2. Complete startup2 with a loadwb and endcli command if
you want the workbench to be loaded and shown. The startup2 file should
be in the s: directory of your system disk as was specified in your
startup-sequence.
There is a script called password.install which if executed will copy the
password program and all supporting files to your system disk. This script
will modify your disks, so be sure to have current backups. Be aware that
your existing startup-sequence and startup2 files will be overwritten. This
password.install script should only be used for non-hard-drive systems.
The following files should be copied or renamed as described below. You may
choose to use the supplied startup-sequence, startup2 and shell-startup or
modify your existing files.
DEFINITIONS:
boot disk: this is the disk that you boot from. It may be df0: or
your hard drive if you auto-boot.
system disk: this is the disk that you assigned to sys: in your
startup-sequence. The boot disk and system disk may be
the same disk.
RENAME:
rename your c:dir command to c:dirx
COPY:
startup-sequence ----- copy to your boot disk s: directory.
startup2 ------------ copy to your system s: directory.
password ------------- copy to your boot and system c:
directory.
loop ----------------- rename to dir and copy to your boot c:
directory and system disk c: directory.
shell-startup -------- copy to your system s: directory.
DIRECTIONS:
-----------
Once you have installed password properly, reboot using your new boot disk.
Since this is the first time you have executed the program, you will be
asked for the maintenance password. This is a hard coded password that will
always work. Keep the maintenance password secure, since anyone will have
complete access to your computer if they know the maintenance password. You
only have one chance to enter the maintenance password.
The maintenance password is: 'shareware' without the quotes. This password
cannot be located, viewed, or changed with a disk sector editor, like
newzap.
You will be prompted to enter a user password twice. The user password must
be between 5 and 15 characters. When you finish creating the user password,
your startup-sequence/startup2 will continue. The user password you entered
will be stored in a file called s:password. The password is encoded and is
secure from prying eyes. If this file ever gets deleted, password will
prompt for the maintenance password the next time the password is needed.
Deleting the password file will not help anyone gain access. Never delete
the s:password file for any reason once it is created. If this file ever
gets deleted, the password or loop program (described below) could force a
reboot.
Once you are booted up, you can change the user password anytime if you know
the old password or the maintenance password. Execute password with no
options, you will be prompted for the old and new passwords. Here you have
the option of removing the password protection. Press enter when you are
asked for the new password. If you choose to have the password protection
removed, password will still execute on bootup, but will not ask for a
password from the user. You will only have 5 chances to complete the
password change correctly, but you can always try again. Entering a 'q' at
any prompt will terminate the password change utility. This feature allows
your to remove the password protection easily, without having to change any
of your system setup.
Everytime you boot from this disk, the user will be prompted for the user
password (although the maintenance password can be entered) unless you have
previously set password for "no password" as described above. The user will
only have three chances to enter the correct password. If the user
makes 3 invalid attempts, the program goes into a loop and the only way out
is to reboot.
ACCOUNTING:
-----------
There are many accounting methods used in the password program, so the
system disk must be writable. Password will check if it can write to the
system disk and prompt the user if the sys: disk is writeprotected. If the
user doesn't correct the trouble, it's loop time....
Every incorrect password entered on bootup is recorded in a file called
s:Access on your system disk.
The date and time of every boot is recorded in a file called s:usage on your
system disk.
Every access attempt that fails for any reason has the date and time
recorded in both the s:usage file and l:denied.
Once the user gives the correct password, the program checks if any previous
access's have been denied, if so the date and time will be displayed to the
user. So whenever an authorized user boots up the Amiga, they will be
notified of any unauthorized access attempts, and a permanent record of all
unauthorized access attempts will be maintained in a file called l:denied.
SECURITY:
---------
There is a program called loop included in this archive. This program can
be used to assist in system security to insure that the system was booted
properly using the password program. I suggest that you rename the dir
command in your c: directory to dirx and then rename loop to dir and copy it
to your c: directory. If the password program was used to boot the Amiga,
executing the new dir command will call the dirx command and the user will
not notice any difference. If the Amiga was not booted using the password
program when the dir command is executed, it's loop time.....
If you were going to break into someone's computer, what is the first
command you'd run when you got the prompt? Right, a dir command to look
around! Follow the above directions and running a dir will cause the system
to lock up unless the disk was booted using password.
Loop can be used with almost any program and it has an option to only check
for a proper boot up using the password program and loop if it wasn't. No
other output will be done. This can be useful to add a "dir -q" to
every script you have on your system, including your startup2 file.
NOTE: loop will not work with some ARP commands (dir works, list
doesn't????), and some won't work because of what they do, like cd.
Another useful security measure is to rename the password program to
something that doesn't sound like password. Try calling it mkdir or time or
something like that. If someone were to see mkdir -a dh0: in your
startup-sequence, would they suspect a password program?
You should password protect every bootable disk you have. Of course you
shouldn't write to your original disks, but they should be locked up
somewhere away from your computer anyway.
Once someone can boot up on one of your disks, they can simply use the dir
commands from that disk to look at your protected disk. Maybe your should
use the dir/loop trick on every copy of dir your have.
If you have a hard-drive, keep only what is absolutely necessary on your
boot disk. Keep a trick copy of dir, but don't keep any other commands like
list, delete, type etc... See the section for Advanced Users below.
Total security on the Amiga is impossible. But using this program can
keep most people out. Most people are computer illiterates and would never
be able to break this program. The key to the password program is to insure
that it is executed from your startup-sequence. There are ways to stop the
startup-sequence from executing, but I won't describe them here. By doing
some of the system setup in the password program and using the loop program
as described above should help.
Advanced Security For Hard Disk Users:
--------------------------------------
It is very difficult to secure an auto-booting Amiga.
There are a few steps that can make it more secure.
1. Set up a small partition on your hard drive about
half a megabyte. Make this your boot drive. Keep all of your
normal workbench files and directories on your normal partition
and have password assign this as your SYS: disk.
2. Copy the contents of the following directories from a workbench 1.3
disk to this partition:
libs
l
devs
fonts
If you are using ARP, do not copy the arp.library to this
'fake' libs directory, unless you need it for some command
you are executing before password.
3. Create a c: directory but do not copy any workbench c: directory
programs to it. Copy only the commands that you are executing
before the password program in your startup-sequence and the
password program itself to this c: directory.
4. Make many copies of the loop program included in this archive to
the c: directory of your boot partition. Rename these copies to
standard workbench c: directory commands like, dir, cd, copy, list,
info, etc.
5. Create a s:startup-sequence in your new small partition with only
these commands:
password -a dh0:
endcli
Now, if anyone stops your startup-sequence from executing before the
password programs runs, the default SYS: disk will be your new partition.
If they try executing any programs that you have loop renamed to, the
computer will lock up and a reboot will be required.
SECTOR EDITOR CHANGES:
----------------------
Some password strings can be changed by using a sector editor, like newzap.
Do not attempt to edit the program unless you have made backup copy of
password and are familiar with sector editors. If any of the shareware
character strings are changed, the program will become inoperative.
You can change the speech strings if you don't like my choice of spoken
error messages. I left 60 characters for all the bad password speech
strings.
You can change the c:setclock to a command your particular setup requires to
read the battery clock.
ICONS ?
-------
Password will operate correctly with the icon supplied for the password
change function. I suggest not allowing the password program to be executed
from an icon to prevent anyone easy access to the program. But the choice
is yours. An icon has been included if you desire this capability. If you
are using an icon and do not put the password program in your sys:c
directory, you may have to give a full path in your startup-sequence.
WORKBENCH v1.4 or v2.0 ??? (whatever they call the version after v1.3)
----------------------
I no longer create the ram:env or assign ENV: to ram within the password
program, since I suspect that the next version of Workbench will contain
a real ENV: handler instead of it just being an assigned directory in
ram:. So, until the next version (if an ENV: handler is included) these
commands MUST be in your startup2 file:
c:makedir ram:env
c:assign ENV: ram:env
If an ENV: handler is not part of the next version, you will need to keep
these commands in your startup2 file.
These commands are included in the startup2 file included in this archive.
SHAREWARE:
----------
Feel free to distribute this entire archive intact, but any user that finds
this program useful and continues to use it should mail $25 to me as payment
for the shareware program. Send me a 5 to 10 character word you would like
your maintenance password to me and you will receive a personal copy of the
program with your custom maintenance password, without the shareware
message that this program displays.
If you send a disk with a copy of your current startup-sequence and
startupII scripts, I will hard-code some of the commands into the password
program to enhance the security of your system. If all the assigns are
added to the password program, this will make it even harder for anyone to
use your system even if they do break in.
If v1.4 (or v2.0 if that's what it's called) breaks this program for any
reason, all registered users will receive an updated version at no charge
(on request).
Please do not attempt to remove the shareware message using some type of
sector editor. If any character of the shareware message is changed, the
program will become inoperative.
I am making no guarantees of operation or security. I take no
responsibility, I hate responsibility.
George Kerber
19756 E. Linvale Drive
Aurora, Colorado 80013
(303) 693-2890
Compuserve: 74010,2132